#ifndef GAMELOGIC_OBJECTS_DATA_H_
#define GAMELOGIC_OBJECTS_DATA_H_

#include "../../Common/Vec2d.h"

/**
 * Dynamiczne dane obiektow gry. Okreslaja one stan i zachowanie obiektow - to wlasnie te dane
 * podlegaja wymianie pomiedzy klientem a serwerem.
 */
struct Data {
	/**
	 * Wektor 'patrzenia' obiektu. Nie jest on zgodny ze wspolrzednymi swiata,
	 * tylko z naturalnym ukladem wsporzednych.
	 */
	Vec2f facing;

	/**
	 * Polozenie obiektu (w metrach).
	 */
	Vec2f position;

	/**
	 * Flagi okreslajace zachowanie obiektu. (zdefiniowane w GameLogic::Objects::GameObject)
	 */
	int behaviour_flags;

	/**
	 * Czas na ktory dane sa aktualne.
	 */
	long time;

	Data():
		facing( 1.0f, 0.0f ),
		behaviour_flags( 0 ),
		time( 0 )
	{}

};

#endif /* GAMELOGIC_OBJECTS_DATA_H_ */
